<template>
<!--  首页-板块控制（流行，新款，精选）-->
<!--  如果仅仅是文字不一样建议不要使用插槽-->
  <div class="tab-control">
    <!--    2、如果被选中，则出现active样式-->
    <!--    3、监听item的点击-->
    <div v-for="(item, index) in titles"
         class="tab-control-item"
         :class="{active: index === currentIndex}"
         @click="itemClick(index)">
      <span>{{item}}</span>
    </div>
  </div>
</template>

<script>
  export default {
    name: "TabControl",
    props: {
      titles: {
        type: Array,
        default() {
          return []
        }
      }
    },
    data() {
      return {
        // 1、哪个元素被选中，第一个元素默认有active样式
        currentIndex: 0
      }
    },
    methods: {
      // 判断谁处于点击状态
      itemClick(index) {
        this.currentIndex = index;
        // 将被点击的index传出去
        this.$emit('tabClick', index)
      }
    }
  }
</script>

<style scoped>
  .tab-control {
    display: flex;
    text-align: center;
    font-size: 15px;
    /*文字垂直居中*/
    height: 40px;
    line-height: 40px;
    background-color: #fff;
  }

  .tab-control-item {
    flex: 1;
  }

  .tab-control-item span {
    padding: 5px;
  }

  /*选中的文字高亮*/
  .active {
    color: var(--color-high-text);
  }

  /*选中的板块出现滑条*/
  .active span {
    border-bottom: 3px solid var(--color-tint);
  }
</style>
